<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>SimpleVectorValueChecker (Apache Commons Math 3.6.1 API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="SimpleVectorValueChecker (Apache Commons Math 3.6.1 API)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/SimpleVectorValueChecker.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/commons/math3/optim/SimpleValueChecker.html" title="class in org.apache.commons.math3.optim"><span class="strong">Prev Class</span></a></li>
<li>Next Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/commons/math3/optim/SimpleVectorValueChecker.html" target="_top">Frames</a></li>
<li><a href="SimpleVectorValueChecker.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.commons.math3.optim</div>
<h2 title="Class SimpleVectorValueChecker" class="title">Class SimpleVectorValueChecker</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/commons/math3/optim/AbstractConvergenceChecker.html" title="class in org.apache.commons.math3.optim">org.apache.commons.math3.optim.AbstractConvergenceChecker</a>&lt;<a href="../../../../../org/apache/commons/math3/optim/PointVectorValuePair.html" title="class in org.apache.commons.math3.optim">PointVectorValuePair</a>&gt;</li>
<li>
<ul class="inheritance">
<li>org.apache.commons.math3.optim.SimpleVectorValueChecker</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../org/apache/commons/math3/optim/ConvergenceChecker.html" title="interface in org.apache.commons.math3.optim">ConvergenceChecker</a>&lt;<a href="../../../../../org/apache/commons/math3/optim/PointVectorValuePair.html" title="class in org.apache.commons.math3.optim">PointVectorValuePair</a>&gt;</dd>
</dl>
<hr>
<br>
<pre>public class <span class="strong">SimpleVectorValueChecker</span>
extends <a href="../../../../../org/apache/commons/math3/optim/AbstractConvergenceChecker.html" title="class in org.apache.commons.math3.optim">AbstractConvergenceChecker</a>&lt;<a href="../../../../../org/apache/commons/math3/optim/PointVectorValuePair.html" title="class in org.apache.commons.math3.optim">PointVectorValuePair</a>&gt;</pre>
<div class="block">Simple implementation of the <a href="../../../../../org/apache/commons/math3/optim/ConvergenceChecker.html" title="interface in org.apache.commons.math3.optim"><code>ConvergenceChecker</code></a> interface using
 only objective function values.

 Convergence is considered to have been reached if either the relative
 difference between the objective function values is smaller than a
 threshold or if either the absolute difference between the objective
 function values is smaller than another threshold for all vectors elements.
 <br/>
 The <a href="../../../../../org/apache/commons/math3/optim/SimpleVectorValueChecker.html#converged(int,%20org.apache.commons.math3.optim.PointVectorValuePair,%20org.apache.commons.math3.optim.PointVectorValuePair)"><code>converged</code></a>
 method will also return <code>true</code> if the number of iterations has been set
 (see <a href="../../../../../org/apache/commons/math3/optim/SimpleVectorValueChecker.html#SimpleVectorValueChecker(double,%20double,%20int)"><code>this constructor</code></a>).</div>
<dl><dt><span class="strong">Since:</span></dt>
  <dd>3.0</dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/commons/math3/optim/SimpleVectorValueChecker.html#SimpleVectorValueChecker(double,%20double)">SimpleVectorValueChecker</a></strong>(double&nbsp;relativeThreshold,
                        double&nbsp;absoluteThreshold)</code>
<div class="block">Build an instance with specified thresholds.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/commons/math3/optim/SimpleVectorValueChecker.html#SimpleVectorValueChecker(double,%20double,%20int)">SimpleVectorValueChecker</a></strong>(double&nbsp;relativeThreshold,
                        double&nbsp;absoluteThreshold,
                        int&nbsp;maxIter)</code>
<div class="block">Builds an instance with specified tolerance thresholds and
 iteration count.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/optim/SimpleVectorValueChecker.html#converged(int,%20org.apache.commons.math3.optim.PointVectorValuePair,%20org.apache.commons.math3.optim.PointVectorValuePair)">converged</a></strong>(int&nbsp;iteration,
         <a href="../../../../../org/apache/commons/math3/optim/PointVectorValuePair.html" title="class in org.apache.commons.math3.optim">PointVectorValuePair</a>&nbsp;previous,
         <a href="../../../../../org/apache/commons/math3/optim/PointVectorValuePair.html" title="class in org.apache.commons.math3.optim">PointVectorValuePair</a>&nbsp;current)</code>
<div class="block">Check if the optimization algorithm has converged considering the
 last two points.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.commons.math3.optim.AbstractConvergenceChecker">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.commons.math3.optim.<a href="../../../../../org/apache/commons/math3/optim/AbstractConvergenceChecker.html" title="class in org.apache.commons.math3.optim">AbstractConvergenceChecker</a></h3>
<code><a href="../../../../../org/apache/commons/math3/optim/AbstractConvergenceChecker.html#getAbsoluteThreshold()">getAbsoluteThreshold</a>, <a href="../../../../../org/apache/commons/math3/optim/AbstractConvergenceChecker.html#getRelativeThreshold()">getRelativeThreshold</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="SimpleVectorValueChecker(double, double)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SimpleVectorValueChecker</h4>
<pre>public&nbsp;SimpleVectorValueChecker(double&nbsp;relativeThreshold,
                        double&nbsp;absoluteThreshold)</pre>
<div class="block">Build an instance with specified thresholds.

 In order to perform only relative checks, the absolute tolerance
 must be set to a negative value. In order to perform only absolute
 checks, the relative tolerance must be set to a negative value.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>relativeThreshold</code> - relative tolerance threshold</dd><dd><code>absoluteThreshold</code> - absolute tolerance threshold</dd></dl>
</li>
</ul>
<a name="SimpleVectorValueChecker(double, double, int)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SimpleVectorValueChecker</h4>
<pre>public&nbsp;SimpleVectorValueChecker(double&nbsp;relativeThreshold,
                        double&nbsp;absoluteThreshold,
                        int&nbsp;maxIter)</pre>
<div class="block">Builds an instance with specified tolerance thresholds and
 iteration count.

 In order to perform only relative checks, the absolute tolerance
 must be set to a negative value. In order to perform only absolute
 checks, the relative tolerance must be set to a negative value.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>relativeThreshold</code> - Relative tolerance threshold.</dd><dd><code>absoluteThreshold</code> - Absolute tolerance threshold.</dd><dd><code>maxIter</code> - Maximum iteration count.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/NotStrictlyPositiveException.html" title="class in org.apache.commons.math3.exception">NotStrictlyPositiveException</a></code> - if <code>maxIter &lt;= 0</code>.</dd><dt><span class="strong">Since:</span></dt>
  <dd>3.1</dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="converged(int, org.apache.commons.math3.optim.PointVectorValuePair, org.apache.commons.math3.optim.PointVectorValuePair)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>converged</h4>
<pre>public&nbsp;boolean&nbsp;converged(int&nbsp;iteration,
                <a href="../../../../../org/apache/commons/math3/optim/PointVectorValuePair.html" title="class in org.apache.commons.math3.optim">PointVectorValuePair</a>&nbsp;previous,
                <a href="../../../../../org/apache/commons/math3/optim/PointVectorValuePair.html" title="class in org.apache.commons.math3.optim">PointVectorValuePair</a>&nbsp;current)</pre>
<div class="block">Check if the optimization algorithm has converged considering the
 last two points.
 This method may be called several times from the same algorithm
 iteration with different points. This can be detected by checking the
 iteration number at each call if needed. Each time this method is
 called, the previous and current point correspond to points with the
 same role at each iteration, so they can be compared. As an example,
 simplex-based algorithms call this method for all points of the simplex,
 not only for the best or worst ones.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/optim/ConvergenceChecker.html#converged(int,%20PAIR,%20PAIR)">converged</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/optim/ConvergenceChecker.html" title="interface in org.apache.commons.math3.optim">ConvergenceChecker</a>&lt;<a href="../../../../../org/apache/commons/math3/optim/PointVectorValuePair.html" title="class in org.apache.commons.math3.optim">PointVectorValuePair</a>&gt;</code></dd>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/optim/AbstractConvergenceChecker.html#converged(int,%20PAIR,%20PAIR)">converged</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/optim/AbstractConvergenceChecker.html" title="class in org.apache.commons.math3.optim">AbstractConvergenceChecker</a>&lt;<a href="../../../../../org/apache/commons/math3/optim/PointVectorValuePair.html" title="class in org.apache.commons.math3.optim">PointVectorValuePair</a>&gt;</code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>iteration</code> - Index of current iteration</dd><dd><code>previous</code> - Best point in the previous iteration.</dd><dd><code>current</code> - Best point in the current iteration.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>true</code> if the arguments satify the convergence criterion.</dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/SimpleVectorValueChecker.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/commons/math3/optim/SimpleValueChecker.html" title="class in org.apache.commons.math3.optim"><span class="strong">Prev Class</span></a></li>
<li>Next Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/commons/math3/optim/SimpleVectorValueChecker.html" target="_top">Frames</a></li>
<li><a href="SimpleVectorValueChecker.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2003&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
